/*
 * Copyright (c) 2012 Tomas Shestakov. <http://code.google.com/p/jmmo/>
 */

package jmmo.engine.property

/**
 * Observable container whose children observable can be added and removed.
 * @author Tomas Shestakov
 */
trait ModifiableObservableContainer extends ObservableContainer with Alterable {

  /**
   * Add child `Observable`
   * @param obs `Observable` to be added to this `ObservableContainer`
   */
  def addObservable(obs: Observable)

  /**
   * Remove child `Observable`
   * @param obs `Observable` to be removed from this `ObservableContainer`
   */
  def removeObservable(obs: Observable)
}
